package com.southwind.feign;

import com.southwind.entity.Order;
import com.southwind.entity.OrderVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

@FeignClient(value = "order")
public interface OrderFeign {
    //    方法里面的数据将在发起请求的时候被携带
    @PostMapping("/order/save")
    void save(Order order);

    //    需要传递参数 这里就相当向另一个服务发起请求 并得到数据 方法里面的参数为要传递的值 将方法里面的参数拼接到路径上
    @GetMapping("/order/findByUid/{index}/{limit}/{uid}")
    OrderVO findByUid(@PathVariable("index") Integer index, @PathVariable("limit") Integer limit, @PathVariable("uid") Integer uid);

//    查看用户下单的数据
    @GetMapping("/order/findAllOrder/{index}/{limit}")
    OrderVO findAllOrder(@PathVariable("index") Integer index,@PathVariable("limit") Integer limit);

//    修改用户菜品的状态
    @PutMapping("/order/updateState/{uid}")
    void updateState(@PathVariable("uid") Integer uid);
}
